
//class Solution {
//public:
//	int maxDepth(TreeNode* root) {
//
//		if (root == NULL)
//		{
//			return 0;
//		}
//		int size = 1;
//		int lsize = maxDepth(root->left);
//		int rsize = maxDepth(root->right);
//
//		return lsize > rsize ? size + lsize : size + rsize;
//	}
//};



//class Solution {
//public:
//	bool isUnivalTree(TreeNode* root) {
//
//
//		if (root == NULL)
//		{
//			return true;
//		}
//
//		if (root->left != NULL)
//		{
//			if (root->val != root->left->val)
//			{
//				return false;
//			}
//		}
//		if (root->right != NULL)
//		{
//			if (root->val != root->right->val)
//			{
//				return false;
//			}
//		}
//		if (!isUnivalTree(root->left))
//		{
//			return false;
//		}
//		if (!isUnivalTree(root->right))
//		{
//			return false;
//		}
//
//
//
//		return true;
//
//
//
//
//	}
//};

//class Solution {
//public:
//	bool isSameTree(TreeNode* p, TreeNode* q) {
//		if (p == NULL && q == NULL)
//		{
//			return true;
//		}
//		if (p == NULL || q == NULL)
//		{
//			return false;
//		}
//		if (p->val != q->val)
//		{
//			return false;
//		}
//		if (!isSameTree(p->left, q->left))
//		{
// 
//			return false;
// 
//		}
// 
//		if (!isSameTree(p->right, q->right))
//		{
//			return false;
//		}
//		return true;
//
//	}
//};